﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RBAC.Domain.SalesManage.H
{
    /// <summary>
    ///发货通知单主表
    /// </summary>
    [Table("Delivery_notice")]
    public class Delivery_notice : BaseEntity
    {
        /// <summary>
        /// 单据编号  (如 XSFH000001，可规则生成)
        /// </summary>
        public string Bill_code { get; set; }
        /// <summary>
        /// 单据日期  (当前日期)
        /// </summary>
        public DateTime Bill_date { get; set; } = DateTime.Now;

        /// <summary>
        /// 单据状态（枚举：0 - 开立、1 - 审批、2 - 完成，关联业务流程）
        /// </summary>
        public int Status { get; set; }
        /// <summary>
        /// 业务类型（如 普通发货、直运发货，与前端下拉匹配 ）
        /// </summary>
        public string Biz_type { get; set; }
        /// <summary>
        /// 关联销售订单号（如 XSDD000001，外键关联销售订单表）
        /// </summary>
        public string Sales_order_code { get; set; }
        /// <summary>
        /// 客户 ID（外键关联客户档案表 customer）
        /// </summary>
        public long Customer_id { get; set; }
        /// <summary>
        /// 销售员 ID（外键关联员工 / 用户表 user）
        /// </summary>
        public long Salesman_id { get; set; }
        /// <summary>
        /// 仓库 ID（外键关联仓库档案表 warehouse）
        /// </summary>
        public long Warehouse_id { get; set; }
        /// <summary>
        /// 收货人
        /// </summary>
        public string Receiver { get; set; }
        /// <summary>
        /// 收货人电话
        /// </summary>
        public string Phone { get; set; }
        /// <summary>
        /// 收货人地址
        /// </summary>
        public string Address { get; set; }
        /// <summary>
        /// 交付日期
        /// </summary>
        public DateTime Delivery_date { get; set; }
        /// <summary>
        /// 备注信息
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// 审批人 ID（外键关联员工 / 用户表 user）
        /// </summary>
        public long? Audit_user_id { get; set; }
        /// <summary>
        /// 审批时间 
        /// </summary>
        public DateTime? Audit_time { get; set; }

        /// <summary>
        /// 运费
        /// </summary>
        public decimal? Freight { get; set; }

        /// <summary>
        /// 装卸费
        /// </summary>
        public decimal? Loading_fee { get; set; }
        /// <summary>
        /// 是否挂起  0 挂起 1  正常  2 完成
        /// </summary>
        public int Is_Suspended { get; set; }=0;
    }
}
